<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Definitions</title>
<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="Chapter 1. Boost.Log v2">
<link rel="up" href="../index.html" title="Chapter 1. Boost.Log v2">
<link rel="prev" href="installation/config.html" title="Configuring and building the library">
<link rel="next" href="design.html" title="Design overview">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr><td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td></tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="installation/config.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="design.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="log.defs"></a><a class="link" href="defs.html" title="Definitions">Definitions</a>
</h2></div></div></div>
<p>
      Here are definitions of some terms that will be used widely throughout the
      documentation:
    </p>
<div class="variablelist">
<p class="title"><b></b></p>
<dl class="variablelist">
<dt><span class="term">Log record</span></dt>
<dd><p>
            A single bundle of information, collected from the user's application,
            that is a candidate to be put into the log. In a simple case the log
            record will be represented as a line of text in the log file after being
            processed by the logging library.
          </p></dd>
<dt><span class="term">Attribute</span></dt>
<dd><p>
            An "attribute" is a piece of meta-information that can be used
            to specialize a log record. In Boost.Log attributes are represented by
            function objects with a specific interface, which return the actual attribute
            value when invoked.
          </p></dd>
<dt><span class="term">Attribute value</span></dt>
<dd><p>
            Attribute values are the actual data acquired from attributes. This data
            is attached to the specific log record and processed by the library.
            Values can have different types (integers, strings and more complex,
            including user defined types). Some examples of attribute values: current
            time stamp value, file name, line number, current scope name, etc.. Attribute
            values are enveloped in a type erasing wrapper, so the actual type of
            the attribute is not visible in the interface. The actual (erased) type
            of the value is sometimes called the stored type.
          </p></dd>
<dt><span class="term">(Attribute) value visitation</span></dt>
<dd><p>
            A way of processing the attribute value. This approach involves a function
            object (a visitor) which is applied to the attribute value. The visitor
            should know the stored type of the attribute value in order to process
            it.
          </p></dd>
<dt><span class="term">(Attribute) value extraction</span></dt>
<dd><p>
            A way of processing the attribute value when the caller attempts to obtain
            a reference to the stored value. The caller should know the stored type
            of the attribute value in order to be able to extract it.
          </p></dd>
<dt><span class="term">Log sink</span></dt>
<dd><p>
            A target, to which all log records are fed after being collected from
            the user's application. The sink defines where and how the log records
            are going to be stored or processed.
          </p></dd>
<dt><span class="term">Log source</span></dt>
<dd><p>
            An entry point for the user's application to put log records to. In a
            simple case it is an object (logger) which maintains a set of attributes
            that will be used to form a log record upon the user's request. However,
            one can surely create a source that would emit log records on some side
            events (for example, by intercepting and parsing console output of another
            application).
          </p></dd>
<dt><span class="term">Log filter</span></dt>
<dd><p>
            A predicate that takes a log record and tells whether this record should
            be passed through or discarded. The predicate typically forms its decision
            based on the attribute values attached to the record.
          </p></dd>
<dt><span class="term">Log formatter</span></dt>
<dd><p>
            A function object that generates the final textual output from a log
            record. Some sinks, e.g. a binary logging sink, may not need it, although
            almost any text-based sink would use a formatter to compose its output.
          </p></dd>
<dt><span class="term">Logging core</span></dt>
<dd><p>
            The global entity that maintains connections between sources and sinks
            and applies filters to records. It is mainly used when the logging library
            is initialized.
          </p></dd>
<dt><span class="term">i18n</span></dt>
<dd><p>
            Internationalization. The ability to manipulate wide characters.
          </p></dd>
<dt><span class="term">TLS</span></dt>
<dd><p>
            Thread-local storage. The concept of having a variable that has independent
            values for each thread that attempts to access it.
          </p></dd>
<dt><span class="term">RTTI</span></dt>
<dd><p>
            Run-time type information. This is the C++ language support data structures
            required for <code class="computeroutput"><span class="keyword">dynamic_cast</span></code>
            and <code class="computeroutput"><span class="keyword">typeid</span></code> operators to
            function properly.
          </p></dd>
</dl>
</div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2007-2021 Andrey Semashev<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>).
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="installation/config.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="design.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
